#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>

#define ra 7
#define nome 25
#define cidade 16
#define tel 9
#define tel_alt 9
#define sexo 2
#define curso 3
#define fim "#"
#define bar "|"
#define tam 70
#define lf "\n"
#define ferro "Erro ao abrir o arquivo\n"
#define fera "Campo RA obrigatorio faltando\n"

//estrutura para o campo
//registro e identificado como uma lista ligada de campos
//possibilidade de variacao de tamanho e numero de campos.
typedef struct campo
{
	char *str;
	struct campo *prox;
	
} campo, *apcampo;


typedef struct cadastro_unicamp
{
  char sra[7];
  char snome[25];
  char scidade[16];
  char stel[9];
  char stel_alt[9];
  char ssexo[2];
  char scurso[3];
} cadastro,*cad;


//le do arquivo de configuracao
//primeira linha : numero de campos
//segunda para frente : tamanho de cada campo
int * le_conf(char *nome, int *ncampos);

void GERA_ARQ_COMPACTO(FILE *f, char *input);

int GERA_ARQ_COM_SEPARADOR(cad strut);

int abre_arquivo();


